home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / Src Code / AREAEDIT.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  3.7 KB  |  137 lines

  1. {**********************************************}
  2. {   TAreaSeries Component Editor Dialog        }
  3. {   Copyright (c) 1996-98 by David Berneda     }
  4. {**********************************************}
  5. {$I teedefs.inc}
  6. unit AreaEdit;
  7.  
  8. interface
  9.  
  10. uses
  11.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  12.   Forms, Dialogs, StdCtrls, Buttons, Chart, Series, ExtCtrls;
  13.  
  14. type
  15.   TAreaSeriesEditor = class(TForm)
  16.     RGMultiArea: TRadioGroup;
  17.     GroupBox2: TGroupBox;
  18.     Label4: TLabel;
  19.     CBStairs: TCheckBox;
  20.     CBAreaBrush: TComboBox;
  21.     BAreaLinesPen: TButton;
  22.     BAreaLinePen: TButton;
  23.     GroupBox1: TGroupBox;
  24.     CBColorEach: TCheckBox;
  25.     BAreaColor: TBitBtn;
  26.     SHAreaColor: TShape;
  27.     CBInvStairs: TCheckBox;
  28.     procedure FormShow(Sender: TObject);
  29.     procedure RGMultiAreaClick(Sender: TObject);
  30.     procedure CBColorEachClick(Sender: TObject);
  31.     procedure BAreaColorClick(Sender: TObject);
  32.     procedure CBStairsClick(Sender: TObject);
  33.     procedure CBAreaBrushChange(Sender: TObject);
  34.     procedure BAreaLinesPenClick(Sender: TObject);
  35.     procedure SHAreaColorMouseUp(Sender: TObject; Button: TMouseButton;
  36.       Shift: TShiftState; X, Y: Integer);
  37.     procedure BAreaLinePenClick(Sender: TObject);
  38.     procedure CBInvStairsClick(Sender: TObject);
  39.   private
  40.     { Private declarations }
  41.     Procedure RefreshShape;
  42.     Function GetAreaColor:TColor;
  43.   public
  44.     { Public declarations }
  45.     Area:TAreaSeries;
  46.   end;
  47.  
  48. implementation
  49.  
  50. {$R *.DFM}
  51. Uses TeEngine, PenDlg, BrushDlg, TeePoEdi, TeeProcs;
  52.  
  53. procedure TAreaSeriesEditor.FormShow(Sender: TObject);
  54. begin
  55.   Screen.Cursor:=crDefault;
  56.   Area:=TAreaSeries(Tag);
  57.   With Area do
  58.   begin
  59.     RGMultiArea.ItemIndex :=Ord(MultiArea);
  60.     CBColorEach.Checked   :=ColorEachPoint;
  61.     CBAreaBrush.ItemIndex :=Ord(AreaBrush);
  62.     CBStairs.Checked      :=Stairs;
  63.     CBInvStairs.Checked   :=InvertedStairs;
  64.     CBInvStairs.Enabled   :=Stairs;
  65.   end;
  66.   SHAreaColor.Cursor:=crTeeHand;
  67.   RefreshShape;
  68.   TeeInsertPointerForm(Parent,Area.Pointer);
  69. end;
  70.  
  71. Procedure TAreaSeriesEditor.RefreshShape;
  72. Begin
  73.   SHAreaColor.Visible:=not Area.ColorEachPoint;
  74.   BAreaColor.Enabled:=SHAreaColor.Visible;
  75.   if SHAreaColor.Visible then SHAreaColor.Brush.Color:=GetAreaColor;
  76. end;
  77.  
  78. procedure TAreaSeriesEditor.RGMultiAreaClick(Sender: TObject);
  79. begin
  80.   Area.MultiArea:=TMultiArea(RGMultiArea.ItemIndex);
  81. end;
  82.  
  83. procedure TAreaSeriesEditor.CBColorEachClick(Sender: TObject);
  84. begin
  85.   Area.ColorEachPoint:=CBColorEach.Checked;
  86.   RefreshShape;
  87. end;
  88.  
  89. Function TAreaSeriesEditor.GetAreaColor:TColor;
  90. begin
  91.   With Area do
  92.   if AreaColor=clTeeColor then result:=SeriesColor
  93.                           else result:=AreaColor;
  94. end;
  95.  
  96. procedure TAreaSeriesEditor.BAreaColorClick(Sender: TObject);
  97. begin
  98.   Area.SeriesColor:=EditColor(Self,GetAreaColor);
  99.   RefreshShape;
  100. end;
  101.  
  102. procedure TAreaSeriesEditor.CBStairsClick(Sender: TObject);
  103. begin
  104.   Area.Stairs:=CBStairs.Checked;
  105.   CBInvStairs.Enabled:=Area.Stairs;
  106. end;
  107.  
  108. procedure TAreaSeriesEditor.CBAreaBrushChange(Sender: TObject);
  109. begin
  110.   Area.AreaBrush:=TBrushStyle(CBAreaBrush.ItemIndex);
  111. end;
  112.  
  113. procedure TAreaSeriesEditor.BAreaLinesPenClick(Sender: TObject);
  114. begin
  115.   EditChartPen(Self,Area.AreaLinesPen);
  116. end;
  117.  
  118. procedure TAreaSeriesEditor.SHAreaColorMouseUp(Sender: TObject;
  119.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  120. begin
  121.   BAreaColorClick(Self);
  122. end;
  123.  
  124. procedure TAreaSeriesEditor.BAreaLinePenClick(Sender: TObject);
  125. begin
  126.   EditChartPen(Self,Area.LinePen);
  127. end;
  128.  
  129. procedure TAreaSeriesEditor.CBInvStairsClick(Sender: TObject);
  130. begin
  131.   Area.InvertedStairs:=CBInvStairs.Checked;
  132. end;
  133.  
  134. initialization
  135.   RegisterClass(TAreaSeriesEditor);
  136. end.
  137.